# 文本地址 https://docs.python.org/zh-cn/3/tutorial/datastructures.html#more-on-lists

# 列表
# num = [1,2,3,4,8,4,9,10]
# print(num)

stunames = ["张三","李四","王五"]
# print(stunames)

# 通过下标来访问 从0开始
# print(stunames[1])


# print(stunames[3])
# Traceback (most recent call last):
#   File "D:/pythoncode/03-数据序列/1-列表.py", line 13, in <module>
#     print(stunames[3])
# IndexError: list index out of range     #错误 列表索引超出范围

# 1.添加数据    此添加默认添加在原列表末尾
# stunames.append(3)
# stunames.append("关羽")
# stunames.append("张飞")
# print(stunames)

# 2. 插入数据
# stunames.insert(0,"张飞")    # 数字代表序列中的位置 且序列是从0开始的
# print(stunames)

# 3.删除
#删除列表
# del stunames
# print(stunames)   #NameError: name 'stunames' is not defined

# 删除元素
# 方式1   del 列表名[下标]
stuNames = ['张三','李四','王五']
# del stuNames[2]
# print(stuNames)


# 方式2   列表名.pop(下标)
stuNames.pop(1)
print(stuNames)

# 方式3  列表名.remove('内容')
# stuNames.remove('李四')
# print(stuNames)


# stunames = [1,2,3,4,8,4,9,10]
# del stunames[2]        # 这里的2 代表的是删除序列中的2号元素 （即序列的第三个数）
# print(stunames)

# 当成栈结构使用
# nums = []
# nums.append(1)
# nums.append(2)
# nums.append(3)      # append 添加的时候 是添加在最后一位后边
# print(nums.pop())
# print(nums.pop())
# print(nums.pop())    # 先进后出型

# 根据内容删除
# stunames = ['张三', '李四', '王五', '刘备', '关羽', '张飞']
# stunames.append("曹操")
# stunames.remove("曹操")
# print(stunames)

# 排序
# num = [2,4,6,76,3,45,4,34,67,89,100]
# num = [(5,2),(7,10),(8,8)]
# num.sort()
# print(num)
# print(sorted(num))
# # num.sort()   # 默认是从小到大排列
# # print(num)
# num.sort(reverse=True)  #这是从大到小
# print(num)

# 遍历 （所有元素都访问一遍）
# stunames = ['张三', '李四', '王五', '刘备', '关羽', '张飞']
# i = 0
# while i < len(stunames):       #len()取 序列的长度 （也就是序列中含有多少个元素）
#     print(stunames[i])
#     i += 1
#
# for name in stunames:   #这里的循环次数 就是序列stunames的元素个数
#     print(name)

# 查找
# print(stunames.index("刘备"))    #已知内容 找出他所在序列的位置 （序列位置是默认从0开始）

# 统计
# nums = [2,4,5,3,4,56,63,6,7,3,4,8,9,]
# print(nums.count(5))  #  根据已知内容 找到该内容在序列中的个数

# 长度
# print(len(nums))  # 统计的是序列中含有元素总个数

# 列表的嵌套

# students = [['张三',60,70,90],['李四',78,99,65],['王五',95,77,88],['赵六',23,35,34]]
#
# print(students)         #打印整个列表
# print(students[0])      #打印张三的所有成绩
# print(students[0][0])     #打印张三的名字
# print(students[0][1])    #打印张三的成绩
# print(students[0][2])
# print(students[0][3])

#
# print("姓名\t语文\t数学\t外语\t总分")
# for stu in students:
#     print(f"{stu[0]}\t{stu[1]}\t{stu[2]}\t{stu[3]}\t{stu[1]+stu[2]+stu[3]}")
#
# print("姓名\t语文\t数学\t英语\t总分")
# for stu in students:
#     sum = stu[1]+stu[2]+stu[3]
#     print(f"{stu[0]}\t{stu[1]}\t{stu[2]}\t{stu[3]}\t{stu[1]+stu[2]+stu[3]}")
